package com.sy.service;

import com.sy.dto.PageBean;
import com.sy.entity.Question;
import com.sy.vo.AnswerVo;
import com.sy.vo.QuestionVo;
import com.sy.vo.StuAndTnoVo;
import com.sy.vo.StudentPageVo;

/**
 * @Author:fma
 * @Date: 2021/10/15 10:36
 */
public interface QuestionService {

    /**根据学生学号返回相应的数据
     * @param studentPageVo 当前学生的分页模型
     * @return 作业的全部信息
     */
    PageBean<Question> getQuestisonBySno(StudentPageVo studentPageVo);


    /**根据学生学号返回相应的数据
     * @param stuAndTnoVo 学生和教师的关联数据
     * @return 问题的全部信息
     */
    PageBean<Question>  getQuestionByTno(StuAndTnoVo stuAndTnoVo);

    /**查询该学生的作业个数
     * @param sno 学生的学号
     * @return 该学生的作业个数
     */
    Integer getQuestionCount(Integer sno);

    /**根据学生学号返回相应的数据
     * @param sno 学生编号
     * @param teacherName 教师姓名
     * @return 问题的全部信息
     */
    PageBean<Question> getQuestionsLikeName(Integer sno , String teacherName,Integer pageNo , Integer pageNum);

    /**根据学生和教师的编号判断是否存在该教师
     * @param stuAndTnoVo 学生和教师的关联数据
     * @return 是否拥有此教师
     */
    boolean isTeacherExists(StuAndTnoVo stuAndTnoVo);

    /**
     * 插入问题
     * @param questionVo 问题模型
     * @return 是否插入成功
     */
    boolean addQuestion(QuestionVo questionVo);
    /**
     * 添加回复问题
     * @param answerVo 问题
     * @return 是否插入成功
     */
    Boolean addReply(AnswerVo answerVo);
    /**根据教师的教工号返回相应的数据
     * @param tno 教师编号
     * @return 问题的全部信息
     */
    PageBean<Question> getQuestisonsByTno(Integer tno,Integer pageNo,Integer pageNum);
    /**
     * 查询问题的数量操作
     * @param tno 教师工号
     * @return 问题总数
     */
    Integer CountQuestionByTno(Integer tno);
}
